12 research outputs found

    Linear-Logic Based Analysis of Constraint Handling Rules with Disjunction

    Full text link
    Constraint Handling Rules (CHR) is a declarative committed-choice programming language with a strong relationship to linear logic. Its generalization CHR with Disjunction (CHRv) is a multi-paradigm declarative programming language that allows the embedding of horn programs. We analyse the assets and the limitations of the classical declarative semantics of CHR before we motivate and develop a linear-logic declarative semantics for CHR and CHRv. We show how to apply the linear-logic semantics to decide program properties and to prove operational equivalence of CHRv programs across the boundaries of language paradigms

    H.: Verification of constraint handling rules using linear logic phase semantics

    No full text
    Abstract. Constraint Handling Rules (CHR) is a declarative concurrent programming language. Like the class of Concurrent Constraint (CC) languages, CHR features a declarative semantics based on Girard’s intuitionistic linear logic. The phase semantics of linear logic has been used in the past to prove safety properties for the class of CC languages. In this paper we show that we can adapt this result to prove safety properties for CHR as well.

    A unified analytical foundation for constraint handling rules

    No full text
    The non-deterministic rule-based programming language of Constraint Handling Rules (CHR) features a remarkable combination of desirable properties: a foundation in classical logic, powerful analysis methods for deciding program properties - especially confluence - and an efficient execution model. Upon a closer look, we observe several limitations to this asset. (1) The traditional theoretical formulation of the operational semantics makes program analysis unnecessarily complicated. (2) Diverging branches of research weaken the applicability of theoretical analysis results to program behavior in a concrete implementation. (3) The foundation on classical logic is of limited use as the relationship between CHR and classical logic is too weak for significant reasoning on program behavior. In this thesis, we introduce several concepts to amend for these shortcomings. Firstly, we propose an unusually concise formulation of the two most important semantic interpretations of CHR. We achieve this by providing a well-motivated notion of state equivalence for each of these interpretations. Secondly, we analyse the relationship between the major diverging interpretations of CHR. Our analysis leads to a novel well-behavedness property that restores the applicability of many theoretical analysis methods to implementation-oriented interpretations of CHR. Finally, we found CHR on intuitionistic linear logic. We show that this substructural logical formalism is substantially better-suited than classical logic to express the operational behavior of CHR. Our non-classical logical foundation entails novel analysis methods for program behavior

    A complete and terminating execution model for Constraint Handling Rules

    No full text
    We observe that the various formulations of the operational semantics of Constraint Handling Rules proposed over the years fall into a spectrum ranging from the analytical to the pragmatic. While existing analytical formulations facilitate program analysis and formal proofs of program properties, they cannot be implemented as is. We propose a novel operational semantics, which has a strong analytical foundation, while featuring a terminating execution model. We prove its soundness and completeness with respect to existing analytical formulations and we compare its expressivity to that of various other formulations
    corecore